﻿Imports System

Namespace System.Workflow.Runtime.Tracking
    Public Class WorkflowTrackingRecord
        Inherits TrackingRecord
        ' Methods
        Public Sub New()
            Me._eventDateTime = DateTime.MinValue
            Me._eventOrder = -1
            Me._annotations = New TrackingAnnotationCollection
        End Sub

        Public Sub New(ByVal trackingWorkflowEvent As TrackingWorkflowEvent, ByVal eventDateTime As DateTime, ByVal eventOrder As Integer, ByVal eventArgs As EventArgs)
            Me._eventDateTime = DateTime.MinValue
            Me._eventOrder = -1
            Me._annotations = New TrackingAnnotationCollection
            Me._event = trackingWorkflowEvent
            Me._eventDateTime = eventDateTime
            Me._eventOrder = eventOrder
            Me._args = eventArgs
        End Sub


        ' Properties
        Public Overrides ReadOnly Property Annotations As TrackingAnnotationCollection
            Get
                Return Me._annotations
            End Get
        End Property

        Public Overrides Property EventArgs As EventArgs
            Get
                Return Me._args
            End Get
            Set(ByVal value As EventArgs)
                Me._args = value
            End Set
        End Property

        Public Overrides Property EventDateTime As DateTime
            Get
                Return Me._eventDateTime
            End Get
            Set(ByVal value As DateTime)
                Me._eventDateTime = value
            End Set
        End Property

        Public Overrides Property EventOrder As Integer
            Get
                Return Me._eventOrder
            End Get
            Set(ByVal value As Integer)
                Me._eventOrder = value
            End Set
        End Property

        Public Property TrackingWorkflowEvent As TrackingWorkflowEvent
            Get
                Return Me._event
            End Get
            Set(ByVal value As TrackingWorkflowEvent)
                Me._event = value
            End Set
        End Property


        ' Fields
        Private _annotations As TrackingAnnotationCollection
        Private _args As EventArgs
        Private _event As TrackingWorkflowEvent
        Private _eventDateTime As DateTime
        Private _eventOrder As Integer
    End Class
End Namespace

